package com.suiwei.advanced.exception;


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

//子类重写父类的方法时：不能抛出父类没有的异常,也不能抛出比父类更大的异常
public class ExtendException {
    //父类
    class F{
        void show() throws RuntimeException{};
    }

     //子类不能抛出父类没有的异常
    class Z1 extends F{
//        @Override
//        void show() throws IOException {
//        }
    }

     //子类能抛出比父类更大的异常
    class Z2 extends F{
//        @Override
//        void show() throws Exception {
//        }
    }

     //如果子类想抛出父类没有的异常,或者抛出比父类更大的异常，可以用try catch处理
    class Z3 extends F{
        @Override
        void show() {
            try {
                BufferedReader reader = new BufferedReader(new FileReader("D://"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
